package provatable;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the COMPONENTE database table.
 * 
 */
@Entity
@NamedQuery(name="Componente.findAll", query="SELECT c FROM Componente c")
public class Componente implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private long oid;

	private String bio;

	private String cognome;

	@Temporal(TemporalType.DATE)
	private Date nascita;

	private String nickname;

	private String nome;

	//bi-directional many-to-many association to Strumento
	@ManyToMany
	@JoinTable(
		name="COMPONENTE_STRUMENTO"
		, joinColumns={
			@JoinColumn(name="COMPONENTE_OID")
			}
		, inverseJoinColumns={
			@JoinColumn(name="STRUMENTO_OID")
			}
		)
	private List<Strumento> strumentos;

	//bi-directional many-to-many association to Gruppo
	@ManyToMany(mappedBy="componentes")
	private List<Gruppo> gruppos;

	public Componente() {
	}

	public long getOid() {
		return this.oid;
	}

	public void setOid(long oid) {
		this.oid = oid;
	}

	public String getBio() {
		return this.bio;
	}

	public void setBio(String bio) {
		this.bio = bio;
	}

	public String getCognome() {
		return this.cognome;
	}

	public void setCognome(String cognome) {
		this.cognome = cognome;
	}

	public Date getNascita() {
		return this.nascita;
	}

	public void setNascita(Date nascita) {
		this.nascita = nascita;
	}

	public String getNickname() {
		return this.nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public List<Strumento> getStrumentos() {
		return this.strumentos;
	}

	public void setStrumentos(List<Strumento> strumentos) {
		this.strumentos = strumentos;
	}

	public List<Gruppo> getGruppos() {
		return this.gruppos;
	}

	public void setGruppos(List<Gruppo> gruppos) {
		this.gruppos = gruppos;
	}

}